// 前端模拟数据（不依赖后端）。所有数据均在内存中维护，便于后续替换为真实接口。

// 文章列表（至少 8 篇）
// 字段含义：
// - id: 数字，文章唯一标识
// - title: 字符串，文章标题
// - cover: 字符串，封面图 URL（在线图片链接）
// - publishedAt: 字符串，发布时间（YYYY-MM-DD）
// - category: 字符串，分类名称（如"技术笔记""生活感悟""学习心得"）
// - summary: 字符串，文章摘要
// - content: 字符串，文章正文（可为 HTML 片段或 Markdown 文本）
// - views: 数字，阅读量
// - authorId: 数字，作者用户ID
export const posts = [
  {
    id: 1,
    title: 'Hello Bologe：开启你的个人博客',
    cover: 'https://images.unsplash.com/photo-1522071820081-009f0129c71c?q=80&w=1200&auto=format&fit=crop',
    publishedAt: '2025-01-01',
    category: '技术笔记',
    summary: '使用 Vue 3 + Vite + Element Plus 搭建一个轻量的个人博客。',
    content: '<p>本文介绍如何用 Vite 初始化项目、引入 Element Plus，并实现基础路由。</p>',
    views: 356,
    authorId: 1001,
  },
  {
    id: 2,
    title: '响应式设计三要点',
    cover: 'https://images.unsplash.com/photo-1509281373149-e957c6296406?q=80&w=1200&auto=format&fit=crop',
    publishedAt: '2025-01-05',
    category: '学习心得',
    summary: '断点、栅格与流式图片是响应式的核心基石。',
    content: '<h2>断点选择</h2><p>根据设备宽度定义样式变化，常见为 768/1024。</p>',
    views: 221,
    authorId: 1001,
  },
  {
    id: 3,
    title: '写给未来的自己：一年博客计划',
    cover: 'https://images.unsplash.com/photo-1484480974693-6ca0a78fb36b?q=80&w=1200&auto=format&fit=crop',
    publishedAt: '2025-01-12',
    category: '生活感悟',
    summary: '坚持输出是最好的学习方式，用写作反哺成长。',
    content: '<p>从记录问题到形成体系，文章会让你的思考更清晰。</p>',
    views: 189,
    authorId: 1002,
  },
  {
    id: 4,
    title: '前端 Mock 技巧：无后端也能开发',
    cover: 'https://images.unsplash.com/photo-1498050108023-c5249f4df085?q=80&w=1200&auto=format&fit=crop',
    publishedAt: '2025-01-16',
    category: '技术笔记',
    summary: '使用本地 JSON、内存对象与延时 Promise 模拟接口。',
    content: '<p>分层封装，未来切换真实接口时只需替换服务层。</p>',
    views: 412,
    authorId: 1001,
  },
  {
    id: 5,
    title: '组件化思维：从页面到模块',
    cover: 'https://images.unsplash.com/photo-1555066931-4365d14bab8c?q=80&w=1200&auto=format&fit=crop',
    publishedAt: '2025-01-20',
    category: '学习心得',
    summary: '识别复用边界，提炼 PostCard、Pagination 等组件。',
    content: '<p>组件职责应单一，可复用性与可测试性同样重要。</p>',
    views: 268,
    authorId: 1002,
  },
  {
    id: 6,
    title: '写作的节奏：番茄工作法实践',
    cover: 'https://images.unsplash.com/photo-1473186578172-c141e6798cf4?q=80&w=1200&auto=format&fit=crop',
    publishedAt: '2025-01-26',
    category: '生活感悟',
    summary: '25 分钟专注 + 5 分钟休息，让写作更高效。',
    content: '<p>小步快跑，持续迭代，长期累积带来巨大变化。</p>',
    views: 143,
    authorId: 1003,
  },
  {
    id: 7,
    title: 'Element Plus 常用组件清单',
    cover: 'https://images.unsplash.com/photo-1472289065668-ce650ac443d2?q=80&w=1200&auto=format&fit=crop',
    publishedAt: '2025-02-01',
    category: '技术笔记',
    summary: '按钮、卡片、布局、表单、弹窗、通知的快速上手。',
    content: '<ul><li>Button</li><li>Card</li><li>Form</li><li>Dialog</li><li>Message</li></ul>',
    views: 501,
    authorId: 1001,
  },
  {
    id: 8,
    title: '从一篇文章到一个系列',
    cover: 'https://images.unsplash.com/photo-1507842217343-583bb7270b66?q=80&w=1200&auto=format&fit=crop',
    publishedAt: '2025-02-08',
    category: '学习心得',
    summary: '选定主题、列提纲、定节奏，把零散知识编织成网。',
    content: '<p>系列化创作有助于建立完整的知识结构。</p>',
    views: 327,
    authorId: 1002,
  },
]

// 分类数据
// 字段含义：
// - id: 数字，分类唯一标识
// - name: 字符串，分类名称
// - count: 数字，该分类下的文章数量
export const categories = [
  { id: 101, name: '技术笔记', count: posts.filter(p => p.category === '技术笔记').length },
  { id: 102, name: '生活感悟', count: posts.filter(p => p.category === '生活感悟').length },
  { id: 103, name: '学习心得', count: posts.filter(p => p.category === '学习心得').length },
]

// 评论数据
// 结构：以文章 id 作为键（postId），值为该文章的评论数组
// 评论字段含义：
// - author: 字符串，评论人昵称
// - avatar: 字符串，评论人头像 URL
// - content: 字符串，评论内容
// - createdAt: 字符串，评论时间（YYYY-MM-DD HH:mm）
// - userId: 数字，评论用户ID
export const commentsByPostId = {
  1: [
    { author: 'Alice', avatar: 'https://i.pravatar.cc/48?img=1', content: '很实用的入门指南！', createdAt: '2025-01-02 10:15', userId: 1 },
    { author: 'Bob', avatar: 'https://i.pravatar.cc/48?img=2', content: '跟着做就跑起来了~', createdAt: '2025-01-02 13:40', userId: 2 },
  ],
  2: [
    { author: 'Chris', avatar: 'https://i.pravatar.cc/48?img=3', content: '断点选择很关键，受教了。', createdAt: '2025-01-06 09:10', userId: 1 },
    { author: 'Dana', avatar: 'https://i.pravatar.cc/48?img=4', content: '移动端图片处理也可以补一节。', createdAt: '2025-01-06 11:22', userId: 2 },
  ],
  3: [
    { author: 'Eve', avatar: 'https://i.pravatar.cc/48?img=5', content: '坚持写作，支持！', createdAt: '2025-01-13 08:55', userId: 1 },
    { author: 'Frank', avatar: 'https://i.pravatar.cc/48?img=6', content: '同感，写出来就能发现问题。', createdAt: '2025-01-13 12:03', userId: 2 },
  ],
  4: [
    { author: 'Grace', avatar: 'https://i.pravatar.cc/48?img=7', content: '本地延时 Promise 的思路很棒。', createdAt: '2025-01-17 15:28', userId: 1 },
    { author: 'Heidi', avatar: 'https://i.pravatar.cc/48?img=8', content: '能否顺带介绍一下 MSW？', createdAt: '2025-01-17 19:07', userId: 2 },
  ],
  5: [
    { author: 'Ivan', avatar: 'https://i.pravatar.cc/48?img=9', content: '组件边界这段收获很大。', createdAt: '2025-01-21 14:42', userId: 1 },
    { author: 'Judy', avatar: 'https://i.pravatar.cc/48?img=10', content: '有示例仓库吗？', createdAt: '2025-01-21 18:01', userId: 2 },
  ],
  6: [
    { author: 'Ken', avatar: 'https://i.pravatar.cc/48?img=11', content: '番茄钟真的有效！', createdAt: '2025-01-27 07:30', userId: 1 },
    { author: 'Lili', avatar: 'https://i.pravatar.cc/48?img=12', content: '我还配合 Notion 记录。', createdAt: '2025-01-27 09:18', userId: 2 },
  ],
  7: [
    { author: 'Mike', avatar: 'https://i.pravatar.cc/48?img=13', content: '清单很全，收藏了。', createdAt: '2025-02-02 10:12', userId: 1 },
    { author: 'Nina', avatar: 'https://i.pravatar.cc/48?img=14', content: '能加下示例代码链接吗？', createdAt: '2025-02-02 16:25', userId: 2 },
  ],
  8: [
    { author: 'Oscar', avatar: 'https://i.pravatar.cc/48?img=15', content: '系列化写作很赞。', createdAt: '2025-02-09 08:21', userId: 1 },
    { author: 'Pia', avatar: 'https://i.pravatar.cc/48?img=16', content: '期待更多更新！', createdAt: '2025-02-09 11:47', userId: 2 },
  ],
}

// 用户模拟数据（用于评论区展示）
// 字段含义：
// - currentUser: 当前登录用户（本地模拟），包含：
//   - username: 用户名
//   - avatar: 头像 URL
// - users: 其他已知用户（可用于 @ 提及或展示）
export const userMock = {
  currentUser: {
    username: 'demo_user',
    avatar: 'https://i.pravatar.cc/64?img=20',
  },
  users: [
    { username: 'Alice', avatar: 'https://i.pravatar.cc/48?img=1' },
    { username: 'Bob', avatar: 'https://i.pravatar.cc/48?img=2' },
    { username: 'Chris', avatar: 'https://i.pravatar.cc/48?img=3' },
  ],
}

// 默认导出，便于一次性引入所有 mock 数据
export default {
  posts,
  categories,
  commentsByPostId,
  userMock,
}